找传奇、传世资源到传世资源站!

切割部分对话框

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

from clipboard
/ TODO:  在此添加额外的初始化代码 // 设置窗口标题为“椭圆窗口”,虽然对话框没有标题条,
// 但在任务条的按钮中仍需要标题
SetWindowText(_T("椭圆窗口"));

// 取得屏幕宽、高
int cxScreen = ::GetSystemMetrics(SM_CXSCREEN);
int cyScreen = ::GetSystemMetrics(SM_CYSCREEN);
// 设置椭圆X、Y方向的半径
int nEllipseWidth = cxScreen / 8;
int nEllipseHeight = cyScreen / 8;

// 将窗口大小设为宽nEllipseWidth,高nEllipseHeight
// 并移至左上角
CRect rect;
GetWindowRect(&rect);
ScreenToClient(&rect);
//GetClientRect(&rect);
//MoveWindow(0, 0, 1000, 1000);
// 创建椭圆区域m_rgnWnd
//m_rgnWnd.CreateEllipticRgn(0, 0, nEllipseWidth, nEllipseHeight);
    CPoint *pt = new CPoint[6];
//CPoint pt[6];
pt[0].x = rect.left;
pt[0].y = rect.top;
pt[1].x = rect.right;
pt[1].y = rect.top;
pt[2].x = rect.right;
pt[2].y = (rect.top rect.bottom)/2;
pt[3].x = (rect.left rect.right)/2;
pt[3].y = (rect.top rect.bottom) / 2;
pt[4].x = (rect.left rect.right) / 2;
pt[4].y = rect.bottom;
pt[5].x = rect.left;
pt[5].y = rect.bottom;

CArray <CPoint, CPoint&> m_Array;
m_Array.SetSize(6, 10);
CPoint pt1(rect.left, rect.top);
m_Array.Add(pt1);
CPoint pt2(rect.right, rect.top);
m_Array.Add(pt2);
CPoint pt3(rect.right, (rect.top rect.bottom) / 2);
m_Array.Add(pt3);
CPoint pt4((rect.left rect.right) / 2, (rect.top rect.bottom) / 2);
m_Array.Add(pt4);
CPoint pt5((rect.left rect.right) / 2, rect.bottom);
m_Array.Add(pt5);
CPoint pt6(rect.left, rect.bottom);
m_Array.Add(pt6);
m_rgnWnd.CreatePolygonRgn(pt, 6, ALTERNATE);
// 将m_rgnWnd设置为窗口区域
SetWindowRgn((HRGN)m_rgnWnd, TRUE);
delete(pt);
切割部分对话框 Windows系统编程-第2张

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复